/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.edinet.agencialinea3.web.login;

import cl.aperture.commons.DefaultValidador;
import cl.aperture.commons.ValidationException;
import cl.edinet.agencialinea3.ejb.entity.AelUsuario;
import cl.edinet.agencialinea3.ejb.entity.Importador;
import cl.edinet.agencialinea3.web.controller.MainController;
import cl.edinet.agencialinea3.ejb.util.UsuarioSession;
import cl.edinet.agencialinea3.web.util.Utiles;
import cl.edinet.leela2.web.controller.annotations.LeelaProcessController;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;

/**
 *
 * @author ivan
 */
@LeelaProcessController(urlPatterns="/login/Login.do")
public class Login extends MainController{
    
    private String usuario;
    private String clave;
    private AelUsuario aelUsuario;

    @Override
    public void doValidate(DefaultValidador dv) throws ValidationException, Exception {
        
        usuario=getValidadorHandler().validarSimpleString("usuario");
        clave=getValidadorHandler().validarSimpleString("clave");
        
        aelUsuario = getRemote().getUsuarioLogin(usuario, clave);
        if(aelUsuario == null){
         throw new ValidationException("Usuario no existe");
        }
        
    }

    @Override
    public void doBusiness() throws ValidationException, Exception {
        
        Collection<Importador> importadorCollection = aelUsuario.getImportadorCollection();
        if(importadorCollection==null || importadorCollection.isEmpty()){
            throw new ValidationException("Usuario no tiene importadores asociados");
        }
        
        Utiles.setUsuarioSession(getSession(), new UsuarioSession(aelUsuario));
        
        addSessionAttribute("codigo_importador", importadorCollection.toArray(new Importador[]{})[0].getCodigo());
        
        getResponse().sendRedirect(getRequest().getContextPath()+"/application/home/Home.view");
        
    }
    
}
